package level02.four;

import java.io.*;
import java.nio.charset.StandardCharsets;

/**
 * 在 C 盘下创建一个目录 d1,在目录 d1 下创建若干个 txt 文件，并在每一个 txt 文件中添加若
 * 干内容。将所有 txt 文件的内容复制到 D 盘下的 copy.txt 中。
 * * 要求所有 txt 的文件内容都复制到同一个文件中
 */
public class Four {
    public static void main(String[] args) throws IOException {
        //在c盘下创建一个目录d1
        File fileA = new File("D:/d1/a.txt");
        File fileB = new File("D:/d1/b.txt");
        File fileC = new File("D:/d1/c_COPY.txt");
        //创建文件
        fileA.createNewFile();
        fileB.createNewFile();
        fileC.createNewFile();
        //将内容输出到内存中
        FileOutputStream fileOutputStreamA = new FileOutputStream(fileA);
        FileOutputStream fileOutputStreamB = new FileOutputStream(fileB);
        FileOutputStream fileOutputStreamC = new FileOutputStream(fileC);
        //将文件输入到电脑上
        FileInputStream fileInputStreamA = new FileInputStream(fileA);
        FileInputStream fileInputStreamB = new FileInputStream(fileB);
        //往文件中输入内容
        fileOutputStreamA.write("往A文件中添加一点内容".getBytes(StandardCharsets.UTF_8));
        fileOutputStreamB.write("往B文件中添加一点内容".getBytes(StandardCharsets.UTF_8));
        //将所有 txt 文件的内容复制到 D 盘下的 copy.txt 中
        int len;
        //定义读取长度
        byte[] bytes = new byte[1024];
        //一直读到文件末尾
        while ((len = fileInputStreamA.read(bytes)) != -1){
            fileOutputStreamC.write(bytes,0,len);
            fileOutputStreamC.write("\r\n".getBytes(StandardCharsets.UTF_8));
        }
        while ((len = fileInputStreamB.read(bytes)) != -1){
            fileOutputStreamC.write(bytes,0,len);
            fileOutputStreamC.write("\r\n".getBytes(StandardCharsets.UTF_8));
        }
        System.out.println("复制成功");

    }
}
